socketserver源码剖析:

您所在的位置:网站首页 socket_listen php socketserver源码剖析:

socketserver源码剖析:

2023-02-24 03:41| 来源: 网络整理| 查看: 265

import socketimport threadingimport select

def process(request, client_address): #模拟定义的handle()方法,这个方法内的代码是socket server与Client端交互代码 print (request,client_address) conn = request conn.sendall(‘欢迎致电 10086,请输入1xxx,0转人工服务.‘) flag = True while flag: data = conn.recv(1024) if data == ‘exit‘: flag = False elif data == ‘0‘: conn.sendall(‘通过可能会被录音.balabala一大推‘) else: conn.sendall(‘请重新输入.‘)

sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sk.bind((‘127.0.0.1‘,8002))sk.listen(5)

while True: #这里一个while循环循环监控sk文件句柄 r, w, e = select.select([sk,],[],[],1) print (‘looping‘) if sk in r: #当sk文件句柄发生变化的时候说明是新的客户端连接过来了 print (‘get request‘) request, client_address = sk.accept() t = threading.Thread(target=process, args=(request, client_address)) #创建一个线程,并调用自己定义的process方法执行~然后样客户端与之交互 t.daemon = False t.start()

sk.close()



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3